

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>State [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Element,Element State,Element Submachine State,State,State Element,State Simple,State Composite,State Entry And Exit Actions,Submachine State,Submachine State Element,Composite,Composite State">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">State</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="send.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="compositestate.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_TextIndentedL2"><img src="d_state.png" width="147" height="80" border="0" alt="d_State"></p>
<p class="p_BodyText"><span class="f_BodyText">A </span><span class="f_BodyText" style="font-style: italic;">State</span><span class="f_BodyText"> represents a situation where some invariant condition holds; this condition can be static (waiting for an event) or dynamic (performing a set of activities). State modeling is usually related to <a href="class.htm">Classes</a>, and describes the enableable states a Class or element can be in and the transitions that enable the element to move there. There are two types of State: </span><span class="f_BodyText" style="font-style: italic;">Simple</span><span class="f_BodyText"> States and </span><span class="f_BodyText" style="font-style: italic;"><a href="compositestate.htm">Composite States</a>,</span><span class="f_BodyText"> both created from the State element from the Enterprise Architect UML </span><span class="f_UIControl">Toolbox</span><span class="f_BodyText">.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Furthermore, there are </span><span class="f_BodyText" style="font-style: italic;"><a href="pseudo_states.htm">pseudo-states</a></span><span class="f_BodyText">, resembling some aspect of a State but with a pre-defined implication. Pseudo-states model complex transitional paths, and classify common <a href="statediagram.htm">State Machine</a> behavior.</span></p>
<p class="p_BodyText"><span class="f_BodyText">You can define entry, internal and exit actions for a State using <a href="operationsmainpage.htm">operations</a>.</span></p>
<p class="p_BodyText"><span class="f_BodyText">If a State element has features such as attributes or operations, the depiction of the element in a diagram has a line under the element name. This line persists if the features are hidden. The line also displays if the </span><span class="f_MenuKeyField">Show State Compartment</span><span class="f_BodyText"> checkbox is selected on the </span><span class="f_UIControl">Objects</span><span class="f_BodyText"> page of the </span><span class="f_UIControl">Options</span><span class="f_BodyText"> dialog (</span><span class="f_MenuKeyField">Tools | Options | Objects</span><span class="f_BodyText">).</span></p>
<p class="p_TextIndentedL2"><img src="state%20line.png" width="138" height="74" border="0" alt="state line"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Toolbox Icon</span></p>
<p class="p_TextIndentedL2"><img src="e_state.png" width="167" height="24" border="0" alt="e_State"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">OMG UML Specification</span></p>
<p class="p_BodyText"><span class="f_BodyText">The OMG UML specification (</span><span class="f_BodyText" style="font-style: italic;">UML Superstructure Specification, v2.1.1, p. 546</span><span class="f_BodyText">) states:</span></p>
<p class="p_OMGText"><span class="f_OMGText">A state models a situation during which some (usually implicit) invariant condition holds. The invariant may represent a static situation such as an object waiting for some external event to occur. However, it can also model dynamic conditions such as the process of performing some activity (i.e., the model element under consideration enters the state when the activity commences and leaves it as soon as the activity is completed).</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
